package repo

import (
	"context"
	"forum/intr/domain"
)

type InteractiveRepository interface {
	GetById(ctx context.Context, biz string, id int64, uid int64) (domain.Interactive, error)
	IncrReadCnt(ctx context.Context, biz string, id int64) error
	IncrLike(ctx context.Context, biz string, id int64, uid int64) error
	DecrLike(ctx context.Context, biz string, id int64, uid int64) error
	IncrCollect(ctx context.Context, biz string, id int64, uid int64) error
	DecrCollect(t context.Context, biz string, id int64, uid int64) error
	BatchReadCnt(ctx context.Context, bizs []string, ids []int64) error
	GetByIds(ctx context.Context, biz string, ids []int64) ([]domain.Interactive, error)
}
